package main

import "fmt"

// 父类
type Animal struct {
	name string
	age  int
}

// 父类的eat方法
func (animal Animal) eat() {
	fmt.Println(animal.name + "正在吃")
}

// 子类 狗
type Dog2 struct {
	Animal
}

// 猫重写  动物的eat方法
func (cat Cat2) eat() {
	fmt.Println(cat.name + "正在吃")
}

// 子类 猫
type Cat2 struct {
	Animal
	color string
}

func main() {
	dog := Dog2{Animal{name: "旺财", age: 2}}
	dog.eat()
	cat := Cat2{Animal{
		name: "小黄",
		age:  2,
	}, "red"}
	cat.eat()
	fmt.Println(cat.color)
}
